All users of micro-computers at one time or another have experienced unexplained program failures that occur at seemingly random intervals and then disappear, only to reappear at a later date. These program failures or "glitches" defy explanation as to their cause. Upon RESET, the program performs properly, memory checks out, and power supply voltages appear normal. In short, the program has failed for no obvious reason. Additionally, while going through a program at the terminal, entering data or processing some report, or working on a new program development, the screen may go blank suddenly, with the subsequent loss of all data and programs resident in volatile memory. The problems of the above two situations are similar, with the main difference being the duration and amount of voltage disturbance. In the first situation, a voltage disturbance of very short duration, with rapid recovery to its normal range, has probably occurred. These line disturbances may vary from micro-seconds to milli-seconds which, in any case, are so brief as to be indiscernible to the computer operator. These short-duration voltage disturbances may be due to voltage transients created by power line switching equipment or nearby high frequency "noise" generating equipment such as the motors of small appliances or hand tools, arc-producing equipment such as fluorescent lights, or switching-type computer DC power supplies. In the second situation, the primary power failure of longer duration has occurred due to an electrical storm, downed distribution line, or power equipment malfunction.
Digital computers contain information storage devices called random access memories (RAMs) which retain or store computer programs and data being currently processed in the computer. The RAM is capable of storing or retaining data in the form of binary numbers (1's or 0's) only as long as the applied voltage is present to the device within prescribed limits. If the line voltage fails due to a power system fault such as a lightning strike or a downed distribution line, or if the voltage moves above or below design limits due to power system "brown-outs", radio frequency interference, or electromagnetic interference, the information stored in these RAM devices may be partially or completely altered or lost. Even the best of equipment designs cannot ensure program integrity when components become marginal due to parameter drifts and aging. The alteration of only one bit or one cell of a memory chip may ruin a program. Maintaining the input voltage to the equipment within the designed limits helps to alleviate these voltage-induced failures.
Large computer installations have been equipped with standby, uninterruptable power sources that substitute for primary line power in the event of failure. These have generally been in the form of a diesel generator with complex associated voltage sensing and switching equipment. The expense of this equipment precludes its use for mini- and micro-computers such as desk-top computers for the home or office.
Regarding the cross-referenced prior art listed above, the following remarks are in order: U.S. Pat. No. 3,999,078 describes a means for controlling a standby power supply (battery/inverter) to make it more energy efficient. The inverter is switched "in" only on collapse of the network supply voltage, and a voltage regulator is required. U.S. Pat. No. 3,614,461 discloses the use of a synchronizer and back-up power source; frequency synchronization is based upon a phase related error signal. U.S. Pat. No. 3,683,198 discloses a standby power system in which standby power is turned on only upon demand from the load and when there is a main supply line voltage drop-out. U.S. Pat. No. 3,229,111 discloses an AC power system having alternate sources of supply which switches to standby power upon the occurrence of a voltage drop-out or reduced voltage, but not upon the occurrence of an overvoltage. U.S. Pat. No. 3,974,660 discloses a standby power supply system which is too slow for protection of semi-conductor memories.
Accordingly, it is an object of the present invention to provide a portable memory protection system for desk-top, home, or office computers which is both affordable and reliable and which will indicate to the user of equipment when a power problem has occurred and will allow the operator to transfer data from volatile to non-volatile memory in time to prevent loss of the data.
It is another object of the invention to provide a memory protection system which may be easily connected between the primary power source and the equipment by an untrained user.
It is an additional object of the invention to provide a memory protection system which may be interlocked to the user equipment such that the transfer of data between volatile and non-volatile memory may take place automatically, according to an executive interrupt program scan whereby no loss of data will occur.
It is a further object of this invention to provide a method and apparatus for preventing loss of data from volatile memory due to voltage surges, drop-outs, undetectable high frequency voltage disturbances, and failure of marginal components because of power problems.
It is still another object of this invention to provide a method and apparatus for preventing loss of data from volatile memory which requires no voltage regulator or line synchronizer while, in effect, providing a regulated and dedicated line.